145 research outputs found
Recommended from our members
Symmetric Public-Key Encryption
Public-key encryption would seem to be inherently asymmetric. in that only messages sent to a user can be encrypted using his public key. We demonstrate that the use of interactive protocols for sending encrypted messages enables a symmetric use of public keys; we give cryptographic protocols for the following tasks: 1. Probabilistic encryption, using the same public key, both of messages that are sent to a particular user as well as of messages that the user sends to others, without compromising the key. We propose a public-key cryptosystem based on these protocols which has only one key, owned by a cryptographic server. 2. Authentication both of the sender and of the receiver of a probabilistically encrypted message. 3. Probabilistic encryption which is provably secure against both chosen-message and chosen-ciphertext attack
Recommended from our members
Distributed Algorithms in Synchronous Broadcasting Networks
In this paper we consider a synchronous broadcasting network, a distributed computation model which represents communication networks that are used extensively in practice. This is the first work we know of that deals with this model in a theoretical context. The problem we consider is a basic problem of information sharing, the computation of the multiple identification function. That is, given a network of p processors, each of which contains an n-bit string of information, the question is how every processor can compute the subset of processors which have the same information as itself. The problem was suggested by Yao in his classical paper in communication complexity [17], as a generalization of the two-processor case studied in that paper. The immediate algorithm which solves this problem takes O(np) time (time = communication time in bits, which is our complexity measure). We present the following algorithms: - a. An algorithm which takes advantage of properties of strings, uses a very simple scheduling policy, and does not use arithmetic operations. (In fact, the processor can be a Turing machine). 'the algorithm's complexity is O(nlog2p+p). - b. An algorithm which uses a simulation of sorting networks by the distributed system. If t(p) is the depth of the sorting network of p processors, then our algorithm takes O( n t(p) + p) time. Using recent results on sorting networks we get an O(nlogp+p) (impractical) algorithm. The algorithm also uses addition and subtraction operations. -c. By letting the processor use modular arithmetic operations as well, we can use Yao's probabilistic version, modify our algorithms and get probabilistic algorithms (with small error) where logn replaces n in the complexity expressions. To prove lower bounds for the problem we use Yao's result to get an fl(n) bound, and we also show an fl(p) bound. We suggest open problems concerning new techniques for proving lower bounds in the presence of broadcasting, as well as other problems about efficient use of the model and comparisons between different models of distributed computation
Recommended from our members
Distributed Algorithms in Synchronous Broadcasting Networks
In this paper we consider a synchronous broadcasting network, a distributed computation model which represents communication networks that are used extensively in practice. This is the first work we know of that deals with this model in a theoretical context. The problem we consider is a basic problem of information sharing, the computation of the multiple identification function. That is, given a network of p processors, each of which contains an n-bit string of information, the question is how every processor can compute the subset of processors which have the same information as itself. The problem was suggested by Yao in his classical paper in communication complexity [17], as a generalization of the two-processor case studied in that paper. The immediate algorithm which solves this problem takes O(np) time (time = communication time in bits, which is our complexity measure). We present the following algorithms: - a. An algorithm which takes advantage of properties of strings, uses a very simple scheduling policy, and does not use arithmetic operations. (In fact, the processor can be a Turing machine). 'the algorithm's complexity is O(nlog2p+p). - b. An algorithm which uses a simulation of sorting networks by the distributed system. If t(p) is the depth of the sorting network of p processors, then our algorithm takes O( n t(p) + p) time. Using recent results on sorting networks we get an O(nlogp+p) (impractical) algorithm. The algorithm also uses addition and subtraction operations. -c. By letting the processor use modular arithmetic operations as well, we can use Yao's probabilistic version, modify our algorithms and get probabilistic algorithms (with small error) where logn replaces n in the complexity expressions. To prove lower bounds for the problem we use Yao's result to get an fl(n) bound, and we also show an fl(p) bound. We suggest open problems concerning new techniques for proving lower bounds in the presence of broadcasting, as well as other problems about efficient use of the model and comparisons between different models of distributed computation
Fast Entropy-Bounded String Dictionary Look-Up with Mismatches
We revisit the fundamental problem of dictionary look-up with mismatches. Given a set (dictionary) of d strings of length m and an integer k, we must preprocess it into a data structure to answer the following queries: Given a query string Q of length m, find all strings in the dictionary that are at Hamming distance at most k from Q. Chan and Lewenstein (CPM 2015) showed a data structure for k = 1 with optimal query time O(m/w + occ), where w is the size of a machine word and occ is the size of the output. The data structure occupies O(w d log^{1+epsilon} d) extra bits of space (beyond the entropy-bounded space required to store the dictionary strings). In this work we give a solution with similar bounds for a much wider range of values k. Namely, we give a data structure that has O(m/w + log^k d + occ) query time and uses O(w d log^k d) extra bits of space
Two algorithms for LCS Consecutive Suffix Alignment
AbstractThe problem of aligning two sequences A and B to determine their similarity is one of the fundamental problems in pattern matching. A challenging, basic variation of the sequence similarity problem is the incremental string comparison problem, denoted Consecutive Suffix Alignment, which is, given two strings A and B, to compute the alignment solution of each suffix of A versus B.Here, we present two solutions to the Consecutive Suffix Alignment Problem under the LCS (Longest Common Subsequence) metric, where the LCS metric measures the subsequence of maximal length common to A and B. The first solution is an O(nL) time and space algorithm for constant alphabets, where the size of the compared strings is O(n) and L⩽n denotes the size of the LCS of A and B.The second solution is an O(nL+nlog|Σ|) time and O(n) space algorithm for general alphabets, where Σ denotes the alphabet of the compared strings
- …